/*
 * 使い方：
 * 
 * 1.URLとdocTypeを指定する。
 * 2.リクエストパラメータの為のオブジェクトリテラルを作る。
 * 3.任意のリクエストメソッドを実行する。
 * 
 * etc.リクエストパラメータを任意の文字列で作りリクエストしてもOK。
 */

	//method: addr, type, para, Create, Read, Update, del
	//simple rest method: addr, para, Create, Read, Update, Delete

	_url  = '/_je/';
	_type = 'myDoc';
	_para = {"foo":"bar"};

	success = function(response, status){};
	error   = function(xhr, status, thrown){};

	//example 1

	//method: POST
	//基本はこんな感じ
	$.jsonengine
		.addr(_url)
		.type(_type)
		.para(_para)
		.Create(success, error);

	//method: PUT
	//Update()の代わりにCreate()を使ってもOK。
	//二回目以降のaddr()とtype()は値を記憶しているので省略可能。para()の値はメソッド実行時にクリアされる。
	$.jsonengine
		.para(_para)
		.Update(success, error);

	//method: DELETE
	$.jsonengine
		.para(_para)
		.Delete(success, error);

	//method: GET
	//パラメータにオブジェクトリテラル形式。
	//検索条件等を指定。
	$.jsonengine
		.para({"cond":"foo.eq.bar","sort":"foo.asc","limit":"100"})
		.Read(success, error);

	//method: GET
	//パラメータに文字列
	$.jsonengine
		.para('cond=foo.eq.bar&sort=foo.asc&limit=100')
		.Read(success, error);

	//method: GET
	//パラメータにオブジェクトリテラル形式。
	//jsonengineから取得してきたjsonをそのままパラメータに渡すパターン。
	$.jsonengine
		.para({"foo":"bar","_docId":"00roxf3RwEBi1ZobhYECZdUnT766oU97","_CreatedAt":"1298281027568","_UpdatedAt":"1298281027568"})
		.Read(success, error);

	//method: GET
	//パラメータに文字列。
	$.jsonengine
		.para('_docId=00roxf3RwEBi1ZobhYECZdUnT766oU97')
		.Read(success, error);

	//method: GET
	//パラメータに文字列。
	//_docIdを使わない場合は少々面倒になる。
	$.jsonengine
		.addr('/_je/myDoc/00roxf3RwEBi1ZobhYECZdUnT766oU97')
		.type('')
		.Read(success, error);

	//example 2 shortcut

	//上記のメソッドを一文字で書くパターン。
	//addr(), type(), para()がそれぞれa(), t(), p()になる。

	je = $.jsonengine;
	je.a('/_je/');
	je.t('myDoc');

	je.p(_para).Create(success, error);

	je.p(_para).Read(success, error);

	je.p(_para).Update(success, error);

	je.p(_para).del(success, error);

	je.Read(success, error);//全件取得

	je.Create(success, error);//空データを作成。

	je.del(success, error);//全件削除。


	//etc $.jsonengineで足りない機能はjQuery.ajaxを使用して下さい。

	jQuery.ajax({
		async : true,
		beforeSend : function(xhr){},
		cache : true,
		complete : function(xhr,status){},
		contentType : 'application/x-www-form-urlencoded',
		data : {"cond":"foo.eq.bar"}, // or 'cond=foo.eq.bar'
		dataFilter : function(data, type){},
		dataType : 'json',
		error : function(xhr,status,thrown){},
		global : true,
		ifModified : true,
		jsonp : "{jsonp: 'onJsonPLoad'}",
		password : 'xxxxxxx',
		processData : true,
		scriptCharset : 'UTF-8',
		success : function(response, status){},
		timeout : 10000,
		type : 'GET',
		url : '/_je/myDoc',
		username : 'user01',
		xhr : function(){},
		xhrFields : {'key[]':['valuea','valueb']}
	});

	